Digital signal processing refers to the use of digital techniques to process signals. Before signals can be processed using digital signal processing techniques, the signals must first be converted to digital samples. The digital samples are generally stored in a buffer before processing, for example to account for differences between the rate of receiving the signals and the rate of processing the signals. A digital signal processor retrieves the digital samples from the buffer, and then processes the retrieved digital samples. FIG. 1 shows a conventional digital signal processing system 100. Referring to FIG. 1, a signal 102 is converted to digital samples 104 by a sampler 106. Digital samples 104 are stored in a buffer 108. A digital signal processor (DSP) 110 retrieves digital samples 104, and then processes retrieved digital samples 104.
According to conventional buffering techniques, digital samples 104 are generally stored in buffer 108 in row order. That is, a contiguous group of sequential samples 104 is stored at a single address in buffer 108, where each address uniquely identifies a row in buffer 108. When processing signals modulated with a periodic waveform, it is often desirable to integrate the signal by combining samples separated by one or more periods. In such applications, sampling rates and memory width are generally chosen so that one row of samples corresponds to one period of the periodic waveform. FIG. 2 illustrates this technique for a buffer 200 and a waveform period of 1 ms.
Referring to FIG. 2, a respective 1 ms group of samples is stored at each address of buffer 200, and successive groups are stored at respective successive addresses. Therefore each row of buffer 200 stores exactly one period of samples of the periodic waveform. A digital signal processor retrieves the samples from buffer 200 in row order for processing. Because each row corresponds to one period, the samples are integrated by operating upon multiple rows. For example, the digital signal processor integrates corresponding samples in multiple rows to obtain an integration result. For many applications this buffering technique is adequate. However, at high frequencies and/or sampling rates, this integration process is too slow to keep up with the incoming signal.